#pragma once

#include "View.h"
#include "RTCamera.h"

namespace mgfx
{ class HLSLEffect; }

namespace intro
{
	class IntroView : public mcore::View
	{
	public:
		IntroView()
		{
			mName = "Intro View";
			mTotalTime = 0.0f;
		}

		virtual void load();
		virtual void unload();
		virtual void onResize() {}
		virtual void update(float dt);
		virtual void draw();

		virtual bool onWindowMessage(UINT msg, WPARAM wParam, LPARAM lParam);

	private:
		ID3D11Buffer * mVertexBuffer;
		ID3D11Buffer * mIndexBuffer;

		mgfx::HLSLEffect * mHLSLEffect;

		float mTotalTime;

		int mPrevMousePosX, mPrevMousePosY;

		XMFLOAT3 mLightPosition;

		RTCamera mCamera;

	};
}